<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/ESF.General.Text" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/ESF.General.Text" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://sft.esf.com/ESF.SFT.FileMetadataPublisher/MetadataPublisher.svc?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:import schemaLocation="http://sft.esf.com/ESF.SFT.FileMetadataPublisher/MetadataPublisher.svc?xsd=xsd4" namespace="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
  <xs:import schemaLocation="http://sft.esf.com/ESF.SFT.FileMetadataPublisher/MetadataPublisher.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="ArrayOfFileRegisterValidatorSet">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="FileRegisterValidatorSet" nillable="true" type="tns:FileRegisterValidatorSet" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfFileRegisterValidatorSet" nillable="true" type="tns:ArrayOfFileRegisterValidatorSet" />
  <xs:complexType name="FileRegisterValidatorSet">
    <xs:sequence>
      <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="AcceptedExtensions" nillable="true" type="q1:ArrayOfstring" />
      <xs:element minOccurs="0" name="BaseFileName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CodePage" type="xs:int" />
      <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Features" nillable="true" type="q2:ArrayOfstring" />
      <xs:element minOccurs="0" name="FileMaxLengthBytes" type="xs:int" />
      <xs:element minOccurs="0" name="FileNameRegularExpression" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/System.Collections.Generic" minOccurs="0" name="OnlyDatePortions" nillable="true" type="q3:ArrayOfKeyValuePairOfstringint" />
      <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/System.Collections.Generic" minOccurs="0" name="OnlyNameAllowedValues" nillable="true" type="q4:ArrayOfKeyValuePairOfintArrayOfstringty7Ep6D1" />
      <xs:element minOccurs="0" name="OptionalDigitalCertificate" type="xs:boolean" />
      <xs:element minOccurs="0" name="RequiresCMS" type="xs:boolean" />
      <xs:element minOccurs="0" name="RequiresDigitalCertificate" type="xs:boolean" />
      <xs:element minOccurs="0" name="RequiresEnterpriseIdentificationInFile" type="xs:boolean" />
      <xs:element minOccurs="0" name="Separator" type="ser:char" />
      <xs:element minOccurs="0" name="ValidateTextData" type="xs:boolean" />
      <xs:element minOccurs="0" name="Validators" nillable="true" type="tns:ArrayOfFileRegisterValidator" />
      <xs:element minOccurs="0" name="Version" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FileRegisterValidatorSet" nillable="true" type="tns:FileRegisterValidatorSet" />
  <xs:complexType name="ArrayOfFileRegisterValidator">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="FileRegisterValidator" nillable="true" type="tns:FileRegisterValidator" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfFileRegisterValidator" nillable="true" type="tns:ArrayOfFileRegisterValidator" />
  <xs:complexType name="FileRegisterValidator">
    <xs:sequence>
      <xs:element xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="AllowedValues" nillable="true" type="q5:ArrayOfstring" />
      <xs:element minOccurs="0" name="IsIdentificationNumber" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsIdentificationTypeCode" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsRegisterCount" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsRequired" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsSequence" type="xs:boolean" />
      <xs:element minOccurs="0" name="Length" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Position" type="xs:int" />
      <xs:element minOccurs="0" name="RegisterType" type="xs:int" />
      <xs:element minOccurs="0" name="RegularExpression" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SumRegisterIndex" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="SumRegisterType" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FileRegisterValidator" nillable="true" type="tns:FileRegisterValidator" />
</xs:schema>